package n1141;

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {

	static int c[][]=new int[100][100];
	
	static int pos[][]=new int[100][100];
	
	static String str;
	
	static int N;
	static void solve()
	{
		for(int i=0;i<N;i++)c[i][i]=1;
		for(int i=0;i<N;i++)
			for(int j=0;j<N;j++)
				pos[i][j]=-1;
		for(int i=1;i<N;i++)
		{
			for(int j=0;j<N-i;j++)
			{
				int k=j+i;
				c[j][k]=Integer.MAX_VALUE;
				if((str.charAt(j)=='('&&str.charAt(k)==')')||(str.charAt(j)=='['&&str.charAt(k)==']'))
				{
					pos[j][k]=-1;
					if(i>1)c[j][k]=c[j+1][k-1];
					else c[j][k]=0;
				}
				for(int r=j;r<k;r++)
				{
					int tmp=c[j][r]+c[r+1][k];
					if(c[j][k]>tmp)
					{
						c[j][k]=tmp;
						pos[j][k]=r;
					}
				}
			}
		}
	}
	
	static void init()
	{
		for(int i=0;i<N;i++)
			for(int j=0;j<N;j++)
				c[i][j]=-1;
	}
	
	static int solve2(int i,int j)
	{
		if(i>j)return 0;
		if(i==j)return 1;
		if(c[i][j]!=-1)return c[i][j];
		int min=Integer.MAX_VALUE;
		if((str.charAt(i)=='('&&str.charAt(j)==')')||(str.charAt(i)=='['&&str.charAt(j)==']'))
		{
			pos[i][j]=-1;
			min=solve2(i+1,j-1);
			c[i][j]=min;
		}
		for(int r=i;r<j;r++)
		{
			int tmp=solve2(i,r)+solve2(r+1,j);
			if(min>tmp)
			{
				min=tmp;
				c[i][j]=tmp;
				pos[i][j]=r;
			}
		}
		return min;
	}
	
	static void print(int i,int j)
	{
		if(i>j)return;
		if(i==j)
		{
			if(str.charAt(i)=='('||str.charAt(i)==')')
			{
				System.out.print("()");
			}else{
				System.out.print("[]");
			}
		}else{
			int r=pos[i][j];
			if(r==-1)
			{
				System.out.print(str.charAt(i));
				print(i+1,j-1);
				System.out.print(str.charAt(j));
			}else{
				print(i,r);
				print(r+1,j);
			}
		}
	}
	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub

		BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
		str=bf.readLine();
		N=str.length();
		//solve();
		init();
		solve2(0,N-1);
		print(0, N-1);
		System.out.println();
	}

}
